/**
 * 
 */
package com.swss.g.assets.service;

import java.util.List;

import com.swss.g.assets.bean.Asset;
import com.swss.g.assets.bean.AssetCardSearch;
import com.swss.g.assets.bean.AstFinAudit;
import com.swss.g.assets.bean.AstRange;
import com.swss.g.base.BaseService;
import com.swss.util.Pagination;

public interface AssetService extends BaseService<Asset> {
	public void addAsset(Asset asset) throws Exception;
	//初审查询
	@SuppressWarnings("unchecked")
	public Pagination findAstFirstByExample(Pagination pagination,Asset asset,AstRange astRange,String deptNo) throws Exception;
	//通过初审
	public void goFirstAduit(Asset asset) throws Exception;
	
	@SuppressWarnings("unchecked")
	public Pagination findAstByExample(Pagination pagination,Asset asset,AstRange astRange,String deptNo) throws Exception;
	@SuppressWarnings("unchecked")
	public List<Pagination> findNotAduitAst(Asset asset) throws Exception;
	
	//未审财务查询
	@SuppressWarnings("unchecked")
	public Pagination findAstFinByExample(Pagination pagination,Asset asset,AstRange astRange,String deptNo ) throws Exception;
	//已审财务查询
	@SuppressWarnings("unchecked")
	public Pagination findthroughFinByExample(Pagination pagination,Asset asset,AstRange astRange,String deptNo ) throws Exception;
	//财务审核
	public int astFinAuditUpdate(AstFinAudit astFinAudit,String auditNoArray) throws Exception;
	//财务退回
	public int astFinAuditBack(String auditNoArray,String returreas) throws Exception;
	//恢复财务审核
	public int astFinthroughAudit(String auditNoArray) throws Exception;
	//终审查询
	@SuppressWarnings("unchecked")
	public Pagination findAstLastByExample(Pagination pagination,Asset asset,AstRange astRange,String deptNo)throws Exception;
	//通过初审
	public int astFirstAuditUpdate(String auditNoArray) throws Exception;
	//初审批量删除
	public int astDeleteAll(String auditNoArray) throws Exception;
	//通过终审
	public int astLastAuditUpdate(String auditNoArray) throws Exception;
	//终审退回
	public int astLastAuditBack(String auditNoArray,String returreas) throws Exception;
	
	public Asset findOneById(Integer id) throws Exception;
	//已单据号查询资产条数
	@SuppressWarnings("unchecked")
	public Pagination findListAstByDanJuNo(Pagination pagination,String danJuNo,int type) throws Exception;
	//导出Excel数据查询
	@SuppressWarnings("unchecked")
	public Pagination findExcelExportByExample(Pagination pagination,Asset asset,String deptNo,int  findType)throws Exception;
    //通过单据号返回条数
	@SuppressWarnings("unchecked")
	public Pagination findComplex(Pagination pagination,Asset asset,AstRange astRange,String deptNo,String hqlCondition) throws Exception;
    //卡片查询功能返回条数。报表样式控制
	@SuppressWarnings("unchecked")
	public Pagination findCardByExample(Pagination pagination,AssetCardSearch astCardSearch) throws Exception;
}
